Smartphones have become popular computing and communication devices throughout the world. Smartphones have become popular, at least in part, because the functionality of these devices may be easily customized by users by way of developing and/or installing mobile applications, thereby providing users with relevant functionality and connecting brands with interested consumers. There are now well over one million mobile applications available on the various smartphone mobile application stores, and some expect mobile application downloads to exceed seventy five billion by the end of 2014.
Development of mobile applications can be expensive. Furthermore, there can be long delays between ideation and delivery of mobile applications. After the mobile applications are delivered, it may be difficult to make changes to the mobile applications as the market matures. In addition to requiring heavy investment and long deployment times, the life cycle of mobile applications can be short due to a rapidly maturing and evolving marketplace and technology base. To further complicate matters, a wide variety of mobile devices and platforms continue to enter the market, making development of mobile applications more difficult due to the varying size, dimension, and pixel density of the screens or displays of the various devices.
Some attempted solutions for these problems have involved use of a translation/abstraction layer used during development of mobile applications. Developers use the translation/abstraction layer by writing code once in a non-native environment (e.g. Ruby) and the tool translates this code into multiple other languages or codes. Such translators, however, tend to seek the lowest common denominator among the various languages or codes in an attempt to ensure that the mobile application works in different environments. This can result in mobile applications that are not optimized for each (or even any) of the various targeted platforms. Furthermore, these and other development environments require prior software development knowledge and are only suited for technically savvy individuals. Additionally other methods are used to lower the cost of developing apps and getting to market quicker, such as the use of app “template” solutions which provides non-programmers limited configuration choices to modify an app's design theme and feature sets, while the function and GUI look and feel remains exactly the same from one app to the next.
It is with respect to these and other considerations that the disclosure made herein is presented.